﻿@using DCMS.Web.Extensions;
@using DCMS.Web.Framework;
@using DCMS.Web.Framework.UI;
@using DCMS.ViewModel.Models.Finances;
@using DCMS.ViewModel.Models.Report;
@using System.Collections.Generic;
@using System.Linq;
@using DCMS.Core.Domain.Common;

@model StaffReportBusinessUserAchievementListModel

<section id="content_wrapper">

    <!-- Start: Topbar-Dropdown -->
    <div id="topbar-dropmenu">
        @await Html.PartialAsync("_ToolBox")
    </div>
    <!-- End: Topbar-Dropdown -->
    <!-- Start: Topbar -->
    <header id="topbar">
        <div class="topbar-left">
            <ol class="breadcrumb">
                <li class="crumb-active">
                    <a href="#">报表</a>
                </li>
                <li class="crumb-icon">
                    <a href="@Url.RouteUrl("HomePage")">
                        <span class="glyphicon glyphicon-home"></span>
                    </a>
                </li>
                <li class="crumb-link">
                    <a href="#">员工报表</a>
                </li>
                <li class="crumb-trail">业务员业绩</li>
            </ol>
        </div>
        <div class="topbar-right">
            <div class="ml15 ib va-m" id="toggle_sidemenu_r">
                <a href="#" class="pl5">
                    <i class="fa fa-sign-in fs22 text-primary"></i>
                    <span class="badge badge-hero badge-danger">3</span>
                </a>
            </div>
        </div>
    </header>
    <!-- End: Topbar -->
    <!-- Begin: Content -->
    <section id="content" class="formSection">

        <div class="special-alerts">
            <div class="alert alert-danger light alert-dismissable" id="alert-demo-2" style="display: none;">
                <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
                <i class="fa fa-info pr10"></i>
                <strong>您没有被授权此操作!</strong>
            </div>
        </div>

        <div class="row">
            <div class="col-md-12">
                <form asp-action="StaffReportBusinessUserAchievement" asp-controller="StaffReport" method="get" id="formSearch" novalidate="novalidate">
                    <div class="panel panel-default" id="panel0">
                        <div class="panel-heading">
                            <span class="glyphicon glyphicon-search"></span> 高级搜索
                            <a class="btn btn-default btn-sm pull-right m5 mrn p5 pbn" id="AdvancedSearch"><i class="fa fa-angle-double-right"></i></a>
                        </div>
                        <div class="panel-body p10">

                            <div class="row">
                                <div class="col-sm-2">
                                    <dcms-select asp-for="CategoryId" asp-items="@Model.Categories" asp-default="商品类别" />
                                </div>
                                <div class="col-sm-2">
                                    <dcms-select asp-for="WareHouseId" asp-items="@Model.WareHouses" asp-default="仓库" />
                                </div>
                                <div class="col-sm-2">
                                    <div class="input-group">
                                        <input asp-for="TerminalId" type="hidden" />
                                        <input asp-for="TerminalName" class="form-control" placeholder="客户..." />
                                        <span class="input-group-btn">
                                            <button id="btn_search_customer" type="button" class="btn btn-default">
                                                <span class="glyphicon glyphicon-search"></span>
                                            </button>
                                        </span>
                                    </div>
                                </div>
                                <div class="col-sm-2">
                                    <input asp-for="TopNumber" class="form-control" placeholder="统计前..." />
                                </div>
                                <div class="col-sm-2">
                                    <dcms-editor asp-for="StartTime" placeholder="开始..." />
                                </div>
                                <div class="col-sm-2">
                                    <dcms-editor asp-for="EndTime" placeholder="结束..." />
                                </div>

                            </div>

                            <div class="row mt10">

                                <div class="col-sm-12">
                                    <button id="btn_query" type="submit" class="btn btn-primary btn-block">
                                        <span class="glyphicon glyphicon-search mr5" aria-hidden="true"></span>查询
                                    </button>
                                </div>
                            </div>

                        </div>
                    </div>
                </form>

                <div class="panel">
                    <div class="panel-heading">
                        <div class="panel-title">
                            <span class="glyphicon glyphicon-tasks"></span> 报表
                        </div>
                    </div>
                    <div class="panel-body p10">
                        <div class="bootstrap-table">
                            <div class="fixed-table-toolbar">
                                <div class="bs-bars pull-left">
                                    <div id="toolbar" class="btn-group mb10">
                                        <a href="@Url.Action("StaffReportBusinessUserAchievement")" class="btn btn-default btn-sm">
                                            <span class="glyphicon glyphicon-refresh mr5"></span>重置
                                        </a>
                                        <a id="btn_export" class="btn btn-info btn-sm mr5" style="margin-left:5px;">
                                            <span class="glyphicon glyphicon-export mr5"></span>导出
                                        </a>
                                        <button id="btn_print" type="button" class="btn btn-alert btn-sm mr5">
                                            <span class="glyphicon glyphicon-print mr5"></span>打印
                                        </button>
                                    </div>
                                </div>
                            </div>

                            <div class="panel panel-default" id="panel1">
                                <div class="row">
                                    <!-- Three panes -->
                                    <div class="col-md-12 admin-grid">
                                        <div class="panel sort-disable">
                                            <div class="panel-heading">
                                                <span class="panel-title">统计图</span>
                                                <a class="btn btn-default btn-sm pull-right m5 mrn p5 pbn" id="AdvancedChart"><i class="fa fa-angle-double-right"></i></a>
                                            </div>
                                            <div class="panel-body pn">
                                                <div id="high-line" style="width: 100%; height: 400px; margin: 0 auto"></div>
                                            </div>
                                            <input type="hidden" id="hidCharts" value="@Model.Charts" />
                                        </div>
                                    </div>
                                    <!-- end: .col-md-12.admin-grid -->
                                </div>
                            </div>

                            <div class="fixed-table-container">
                                <div class="fixed-table-body">

                                    <table class="table table-striped table-bordered table-hover">
                                        <thead>
                                            <tr class="datagrid-header-row">
                                                <th class="text-left"><div class="th-inner">业务员</div></th>
                                                <th class="text-right"><div class="th-inner">(预)销售额</div></th>
                                                <th class="text-right"><div class="th-inner">销售额</div></th>
                                                <th class="text-right"><div class="th-inner">(预)退货额</div></th>
                                                <th class="text-right"><div class="th-inner">退货额</div></th>
                                                <th class="text-right"><div class="th-inner">(预)销售净额</div></th>
                                                <th class="text-right"><div class="th-inner">收款额</div></th>
                                                <th class="text-right"><div class="th-inner">销售欠款</div></th>
                                                <th class="text-center" style="width:100px">销量汇总</th>
                                                <th class="text-center" style="width:100px">拜访量汇总</th>
                                            </tr>
                                        </thead>
                                        <tbody>

                                            @{
                                                if (Model.Items != null && Model.Items.Count > 0)
                                                {
                                                    @foreach (var item in Model.Items)
                                                    {

                                                        <tr>
                                                            <td class="text-left">@item.BusinessUserName</td>
                                                            <td class="text-right">￥ @((item.SaleAmount ?? 0).ToString("0.00"))</td>
                                                            <td class="text-right">￥ @((item.AdSaleAmount ?? 0).ToString("0.00"))</td>
                                                            <td class="text-right">￥ @((item.ReturnAmount ?? 0).ToString("0.00"))</td>
                                                            <td class="text-right">￥ @((item.AdReturnAmount ?? 0).ToString("0.00"))</td>
                                                            <td class="text-right">￥ @((item.NetAmount ?? 0).ToString("0.00"))</td>
                                                            <td class="text-right">￥ @((item.ReceiptAmount ?? 0).ToString("0.00"))</td>
                                                            <td class="text-right">￥ @((item.OweAmount ?? 0).ToString("0.00"))</td>
                                                            <td class="text-center">
                                                                <a href="@Url.Action("StaffExport",new  { staffUserId= item.BusinessUserId,startTime=Model.StartTime,endTime=Model.EndTime})" class="btn btn-info btn-sm mr5">
                                                                    <span class="glyphicon glyphicon-export mr5"></span> 导出
                                                                </a>
                                                            </td>
                                                            <td class="text-center">
                                                                <a href="@Url.Action("VisitSummery",new  { staffUserId= item.BusinessUserId})" class="btn btn-info btn-sm mr5">
                                                                    <span class="glyphicon glyphicon-search mr5"></span> 查看
                                                                </a>
                                                            </td>
                                                        </tr>
                                                    }

                                                    <tr>
                                                        <td class="text-center"><b>总计</b></td>
                                                        <td class="text-right"><span style="color:#ffd700;"><b>￥</b></span><b>@((Model.TotalSumSaleAmount ?? 0).ToString("0.00"))</b></td>
                                                        <td class="text-left"></td>
                                                        <td class="text-right"><span style="color:#ffd700;"><b>￥</b></span><b>@((Model.TotalSumReturnAmount ?? 0).ToString("0.00"))</b></td>
                                                        <td class="text-left"></td>
                                                        <td class="text-right"><span style="color:#ffd700;"><b>￥</b></span><b>@((Model.TotalSumNetAmount ?? 0).ToString("0.00"))</b></td>
                                                        <td></td>
                                                        <td></td>
                                                    </tr>
                                                }
                                                else
                                                {
                                                    <tr class="no-records-found">
                                                        <td class="text-center" colspan="8">没有找到匹配的记录</td>
                                                    </tr>
                                                }
                                            }
                                        </tbody>
                                    </table>
                                </div>
                            </div>
                            @{
                                var pager = Html.Pager(Model.PagingFilteringContext).QueryParam("pagenumber");
                            }

                            @if (!pager.IsEmpty())
                            {
                                <div class="fixed-table-pagination" style="display: block;">
                                    @Html.Raw(pager.ToString())
                                </div>
                            }
                        </div>
                        <div class="clearfix"></div>
                    </div>
                </div>
            </div>
        </div>


    </section>

    <!-- End: Content -->
</section>


@await Html.PartialAsync("_Windows", Model)

@section CurPageScripts
{
    <script type="text/javascript">

        jQuery(document).ready(function () {

            "use strict";

            // Init Theme Core
            Core.init();

            // Init Demo JS
            Demo.init();

            //权限提示
            if ($(this).getUrlQueryString("Authorize") == "noAuthorize") {
                $('#alert-demo-2').fadeToggle();
                setTimeout(function () {
                    $('#alert-demo-2').fadeToggle();
                }, 3000);
            }

            //高级搜索
            $("#panel0 #AdvancedSearch").click(function () {
                var ico = $(this).find(".fa");
                if (ico.hasClass('fa-angle-double-right'))
                    ico.removeClass("fa-angle-double-right").addClass("fa-angle-double-down");
                else
                    ico.removeClass("fa-angle-double-down").addClass("fa-angle-double-right");
                $("#panel0").find(".panel-body").toggleClass("hidden fadeIn");
            });

            //统计图
            $("#panel1 #AdvancedChart").click(function () {
                var ico = $(this).find(".fa");
                if (ico.hasClass('fa-angle-double-right'))
                    ico.removeClass("fa-angle-double-right").addClass("fa-angle-double-down");
                else
                    ico.removeClass("fa-angle-double-down").addClass("fa-angle-double-right");
                $("#panel1").find(".panel-body").toggleClass("hidden fadeIn");
            });


            //商品列表选择赋值
            window.operateEventsPop = {
                'click .rowSelect': function (e, value, row, index) {
                    var index = $(this).attr("data-id");
                    var keys = Object.keys(row.Units);
                    $("#ProductName").val(row.Name);
                    $("#ProductId").val(row.Id);
                    $('#ModalProductWindows').modal('hide');
                }
            };
            $("#btn_search_product").click(function () {
                $(this).productSelectShowModal($("#ModalProductWindows"), "/Product/AsyncSearchSelectPopup", null, "选择商品", $("#ProductModalForm"),
                    function () { });
            });

            //客户搜索
            $(document).on('click', "#btn_search_customer", function () {
                var actionUrl = "/Terminal/AsyncSearchSelectPopup";
                $(this).showModalV2($("#TerminalSelectModalWindow"), actionUrl, { ids: "" }, "选择终端", $("#TerminalSelectForm"), function (rows) { });
            });

            window.operateEventsPopTerminal = {
                'click .rowSelect': function (e, value, row, index) {
                    try {
                        $("#TerminalId").val(row.Id);
                        $("#TerminalName").val(row.Name);
                        $('#TerminalSelectModalWindow').modal('hide');
                    }
                    catch (err) {
                        console.log(err);
                        $(this).showToastr(err);
                        return;
                    }
                }
            };

            //图表展示
            // Define chart color patterns
            var highColors = [bgWarning, bgPrimary, bgInfo, bgAlert,
                bgDanger, bgSuccess, bgSystem, bgDark
            ];

            var line1 = $('#high-line');
            var cols = [];
            var datas = [{
                name: '销售金额',
                data: []
            },
            {
                name: '退货金额',
                data: []
            },
            {
                name: '销售净额',
                data: []
            }
            ];

            var charts = $("#hidCharts").val();
            if (charts != null && charts != "") {

                var chars = charts;
                var sp = chars.split(",");
                sp.forEach(function (a, b) {
                    if (a != "") {
                        cols.push(a.split("|")[0]);

                        var saleAmount = a.split("|")[1];
                        datas[0].data.push(Number(saleAmount));

                        var returnAmount = a.split("|")[2];
                        datas[1].data.push(Number(returnAmount));

                        var netAmount = a.split("|")[3];
                        datas[2].data.push(Number(netAmount));
                    }
                });
            }

            console.log(JSON.stringify(datas));


            if (line1.length) {

                // High Line 1
                $('#high-line').highcharts({
                    credits: false,
                    colors: highColors,
                    chart: {
                        type: 'column',
                        zoomType: 'x',
                        panning: true,
                        panKey: 'shift',
                        marginRight: 50,
                        marginTop: -5,
                    },
                    title: {
                        text: null
                    },
                    xAxis: {
                        gridLineColor: '#EEE',
                        lineColor: '#EEE',
                        tickColor: '#EEE',
                        categories: cols
                    },
                    yAxis: {
                        min: -2,
                        tickInterval: 10000,
                        gridLineColor: '#EEE',
                        title: {
                            text: '销售净额',
                            style: {
                                color: bgInfo,
                                fontWeight: '600'
                            }
                        }
                    },
                    plotOptions: {
                        spline: {
                            lineWidth: 3,
                        },
                        area: {
                            fillOpacity: 0.2
                        }
                    },
                    legend: {
                        enabled: false,
                    },
                    series: datas
                });

            }

            //防止重复查询
            var queryNumber = 1;
            $("#btn_query").click(function () {
                if (queryNumber > 1) {
                    return false;
                }
                queryNumber = queryNumber + 1;
            });

            //用户修改客户名称，将客户Id置零
            $("#TerminalName").bind("change", function () {
                $("#TerminalId").val(0);
            });


            //导出
            $("#btn_export").click(function () {
                window.location.href = "/StaffReport/ExportStaffReportBusinessUserAchievement?categoryId=" + $("#CategoryId").val() + "&wareHouseId=" + $("#WareHouseId").val() + "&terminalId=" + $("#TerminalId").val() + "&terminalName=" + $("#TerminalName").val() + "&topNumber=" + $("#TopNumber").val() + "&districtId=" + $("#DistrictId").val() + "&startTime=" + $("#StartTime").val() + "&endTime=" + $("#EndTime").val();
            });
        });
    </script>
}
